package com.fy56.platform.logistics.model;

import com.fy56.platform.logistics.common.AbstractModel;

import java.util.Date;
import java.util.Map;

public class Company extends AbstractModel {
    /**
     * 金融代码
     */
    private String code;

    /**
     * 金融代码密码
     */
    private String tenantPass;

    /**
     * 企业名称
     */
    private String name;

    /**
     * 电话
     */
    private String phone;

    /**
     * 地址
     */
    private String address;

    /**
     * 是否可用
     */
    private Integer useFlag;

    /**
     * 下单（0未启用，1启用）
     */
    private Integer makeOrderFlag;

    /**
     * 取款（0未启用，1启用）
     */
    private Integer withdrawFlag;

    /**
     * 推送（0未启用，1启用）
     */
    private Integer sendMsgFlag;

    /**
     * web地址
     */
    private String url;

    /**
     * 主营线路
     */
    private String line;

    /**
     * 行政区划编码
     */
    private String administrativeDivisionCode;

    /**
     * 所属地区
     */
    private String formatNames;

    /**
     * 省份
     */
    private String province;

    /**
     * 城市
     */
    private String city;

    /**
     * F6账套名称
     */
    private String f6AccountSet;

    /**
     * F6组织代码
     */
    private String f6OrganizationCode;

    /**
     * 经度
     */
    private Double longitude;

    /**
     * 纬度
     */
    private Double latitude;

    /**
     * 用户ID
     */
    private Long userId;

    /**
     * 是否关注的标识（★已关注 ☆未关注）
     */
    private String flag;

    /**
     * 距离（例如：1.5 单位（km））
     */
    private Double distance;

    /*
    * 首页图片显示数量
    * */
    private Integer imgLimit;

    /**
     * 开始营业时间
     *
     */
    private String businessStartTime;

    /**
     * 结束营业时间
     *
     */
    private String businessEndTime;

    /**
     * 开始放款时间
     *
     */
    private String lendingStartTime;

    /**
     * 结束放款时间
     *
     */
    private String lendingEndTime;

    /**
     * 是否定制
     *
     */
    private Integer isCustom;

    /*
    * 发货须知
    * */
    private String notes;

    /**
     * 更新者
     */
    private String updateUser;

    /**
     * 公司Logo图片地址
     */
    private String logoImgUrl;

    /**
     * 公章图片地址
     */
    private String imgUrl;

    /**
     * 托运协议
     */
    private String consignAgreement;

    /**
     * 下单的基本信息
     * 1.目的地
     * 2.业务相关设置 : 小程序代收是否必须输入银行信息
     * 3.业务相关设置 : 小程序有代收货款必须与默认开户银行一致
     * 4.业务相关设置 : 默认银行
     * 5.业务相关设置 : 提货方式
     * 6.付款方式
     */
    private Map<String, Object> businessSetting;

    public Map<String, Object> getBusinessSetting() {
        return businessSetting;
    }

    public void setBusinessSetting(Map<String, Object> businessSetting) {
        this.businessSetting = businessSetting;
    }

    /**
     *
     * @mbggenerated 2018-03-30
     */
    public Company() {
        super();
    }

    public String getFormatNames() {
        return formatNames;
    }

    public void setFormatNames(String formatNames) {
        this.formatNames = formatNames;
    }

    /**
     * 金融代码
     * @return code 金融代码
     */
    public String getCode() {
        return code;
    }

    /**
     * 金融代码
     * @param code 金融代码
     */
    public void setCode(String code) {
        this.code = code == null ? null : code.trim();
    }

    public String getTenantPass() {
        return tenantPass;
    }

    public void setTenantPass(String tenantPass) {
        this.tenantPass = tenantPass;
    }

    /**
     * 企业名称
     * @return name 企业名称
     */
    public String getName() {
        return name;
    }

    /**
     * 企业名称
     * @param name 企业名称
     */
    public void setName(String name) {
        this.name = name == null ? null : name.trim();
    }

    /**
     * 电话
     * @return phone 电话
     */
    public String getPhone() {
        return phone;
    }

    /**
     * 电话
     * @param phone 电话
     */
    public void setPhone(String phone) {
        this.phone = phone == null ? null : phone.trim();
    }

    /**
     * 地址
     * @return address 地址
     */
    public String getAddress() {
        return address;
    }

    /**
     * 地址
     * @param address 地址
     */
    public void setAddress(String address) {
        this.address = address == null ? null : address.trim();
    }

    /**
     * 是否可用
     * @return useFlag 是否可用
     */
    public Integer getUseFlag() {
        return useFlag;
    }

    /**
     * 是否可用
     * @param useFlag 是否可用
     */
    public void setUseFlag(Integer useFlag) {
        this.useFlag = useFlag;
    }

    /**
     * 下单（0未启用，1启用）
     * @return makeOrderFlag 下单（0未启用，1启用）
     */
    public Integer getMakeOrderFlag() {
        return makeOrderFlag;
    }

    /**
     * 下单（0未启用，1启用）
     * @param makeOrderFlag 下单（0未启用，1启用）
     */
    public void setMakeOrderFlag(Integer makeOrderFlag) {
        this.makeOrderFlag = makeOrderFlag;
    }

    /**
     * 取款（0未启用，1启用）
     * @return withdrawFlag 取款（0未启用，1启用）
     */
    public Integer getWithdrawFlag() {
        return withdrawFlag;
    }

    /**
     * 取款（0未启用，1启用）
     * @param withdrawFlag 取款（0未启用，1启用）
     */
    public void setWithdrawFlag(Integer withdrawFlag) {
        this.withdrawFlag = withdrawFlag;
    }

    /**
     * 推送（0未启用，1启用）
     * @return sendMsgFlag 推送（0未启用，1启用）
     */
    public Integer getSendMsgFlag() {
        return sendMsgFlag;
    }

    /**
     * 推送（0未启用，1启用）
     * @param sendMsgFlag 推送（0未启用，1启用）
     */
    public void setSendMsgFlag(Integer sendMsgFlag) {
        this.sendMsgFlag = sendMsgFlag;
    }

    /**
     * web地址
     * @return url web地址
     */
    public String getUrl() {
        return url;
    }

    /**
     * web地址
     * @param url web地址
     */
    public void setUrl(String url) {
        this.url = url == null ? null : url.trim();
    }

    /**
     * 主营线路
     * @return line 主营线路
     */
    public String getLine() {
        return line;
    }

    /**
     * 主营线路
     * @param line 主营线路
     */
    public void setLine(String line) {
        this.line = line == null ? null : line.trim();
    }

    /**
     * 行政区划编码
     * @return administrativeDivisionCode 行政区划编码
     */
    public String getAdministrativeDivisionCode() {
        return administrativeDivisionCode;
    }

    /**
     * 行政区划编码
     * @param administrativeDivisionCode 行政区划编码
     */
    public void setAdministrativeDivisionCode(String administrativeDivisionCode) {
        this.administrativeDivisionCode = administrativeDivisionCode == null ? null : administrativeDivisionCode.trim();
    }

    public String getProvince() {
        if(this.formatNames != null && this.formatNames.length() > 0){
            return this.formatNames.split("→")[0];
        }
        return null;
    }


    public String getCity() {
        if(this.formatNames != null && this.formatNames.length() > 0 && this.formatNames.contains("→")){
            return getFormatNames().split("→")[1];
        }
        return null;
    }

    public String getF6AccountSet() {
        return f6AccountSet;
    }

    public void setF6AccountSet(String f6AccountSet) {
        this.f6AccountSet = f6AccountSet;
    }

    public String getF6OrganizationCode() {
        return f6OrganizationCode;
    }

    public void setF6OrganizationCode(String f6OrganizationCode) {
        this.f6OrganizationCode = f6OrganizationCode;
    }

    public Double getLongitude() {
        return longitude;
    }

    public void setLongitude(Double longitude) {
        this.longitude = longitude;
    }

    public Double getLatitude() {
        return latitude;
    }

    public void setLatitude(Double latitude) {
        this.latitude = latitude;
    }

    public Long getUserId() {
        return userId;
    }

    public void setUserId(Long userId) {
        this.userId = userId;
    }

    public Double getDistance() {
        return distance;
    }

    public void setDistance(Double distance) {
        this.distance = distance;
    }

    public String getFlag() {
        return flag;
    }

    public void setFlag(String flag) {
        this.flag = flag;
    }

    public Integer getImgLimit() {
        return imgLimit;
    }

    public void setImgLimit(Integer imgLimit) {
        this.imgLimit = imgLimit;
    }

    public String getBusinessStartTime() {
        return businessStartTime;
    }

    public void setBusinessStartTime(String businessStartTime) {
        this.businessStartTime = businessStartTime;
    }

    public String getBusinessEndTime() {
        return businessEndTime;
    }

    public void setBusinessEndTime(String businessEndTime) {
        this.businessEndTime = businessEndTime;
    }

    public String getLendingStartTime() {
        return lendingStartTime;
    }

    public void setLendingStartTime(String lendingStartTime) {
        this.lendingStartTime = lendingStartTime;
    }

    public String getLendingEndTime() {
        return lendingEndTime;
    }

    public void setLendingEndTime(String lendingEndTime) {
        this.lendingEndTime = lendingEndTime;
    }

    public Integer getIsCustom() {
        return isCustom;
    }

    public void setIsCustom(Integer isCustom) {
        this.isCustom = isCustom;
    }

    public String getNotes() {
        return notes;
    }

    public void setNotes(String notes) {
        this.notes = notes;
    }

    public String getUpdateUser() {
        return updateUser;
    }

    public void setUpdateUser(String updateUser) {
        this.updateUser = updateUser;
    }

    public String getLogoImgUrl() {
        return logoImgUrl;
    }

    public void setLogoImgUrl(String logoImgUrl) {
        this.logoImgUrl = logoImgUrl;
    }

    public String getImgUrl() {
        return imgUrl;
    }

    public void setImgUrl(String imgUrl) {
        this.imgUrl = imgUrl;
    }

    public String getConsignAgreement() {
        return consignAgreement;
    }

    public void setConsignAgreement(String consignAgreement) {
        this.consignAgreement = consignAgreement;
    }
}